#include <iostream>
// 以下为C++98的可怜格式化输出方式
#include <iomanip>

// 一下为C++20!!!的format函数！！!
// 我不想用iomanip

/*我想用format我想用format我想用format!!!!!!!*/
int main()
{
    // 使用std::oct,hex,bin,dec等修饰符来定义输入输出的格式(真心麻烦)
    int a = 10;
    // std::cin>>std::oct>>a;

    std::cout<<std::oct<<a<<std::endl;
    std::cout<<std::hex<<a<<std::endl;

    // 使用setiosflags函数来显示进制与控制小数位数
    std::cout << std::setiosflags(std::ios::showbase);

    std::cout<<100<<std::endl;
    // std::cout<< std::dec<<100<<std::endl;
    
    // 使用过一次std::dec后发现默认打印方式也变了？？？？？
    std::cout<<17<<std::endl;

    // 使用std::ios::fixed 修饰符来定义小数位数，但是这样还不行
    std::cout<<std::setiosflags(std::ios::fixed);
    std::cout<<std::setprecision(1)<< 1.111<<std::endl;
    
    // 并且从此以后都是默认输出的那样了
    std::cout << 3.1415<<"      虽然没加修饰函数,但是我还是1位"<<std::endl;


    return 0;
}